﻿<?xml version="1.0" encoding="utf-8"?>
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" MadCap:lastBlockDepth="4" MadCap:lastHeight="535" MadCap:lastWidth="1085">
    <head>
        <link href="Resources/Stylesheets/MadCapKB.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <h1>Welcome</h1>
        <p>MxPlugin is an open-source project hosted on Codeplex - <a href="http://mxplugin.codeplex.com/" title="http://mxplugin.codeplex.com" target="_blank">http://mxplugin.codeplex.com</a>.  It is available through a <a href="UserManual/UserMan-Licence.htm">New BSD licence</a> and provides a standard for the development of software libraries that extend application programs by allowing them to import third-party C++ code into its process from the same machine at runtime. For example, an application that processes BMP image files might be extended to process JPG images simply by copying an appropriate MxPlugin DLL into its executables directory, even whilst the application is running. </p>
        <p>The MxPlugin Project includes:</p>
        <ul>
            <li><a href="ReferenceManual/RefMan-IMxPluginBase.htm">IMxPluginBase</a> - base interface that all MxPlugins must implement</li>
            <li><a href="ReferenceManual/RefMan-IMxPluginLibDetails.htm">IMxPluginLibDetails</a> - interface implemented by MxPlugins to provide information about their purpose, support site, licence etc</li>
            <li><a href="UserManual/MxPluginSamples/MxPluginSamples-Overview.htm">Plugin Samples</a> - examples of MxPlugin implementations</li>
            <li><a href="UserManual/MxPluginManager/MxPluginMngr-Overview.htm">MxPluginManager</a> - Windows application listing MxPlugins found on your machine and allowing the setting of error handling</li>
            <li><a href="UserManual/MxError/MxError-Overview.htm">MxError</a> - Error and logging for MxPlugins and applications</li>
            <li><a href="Tutorial/Tutor-Overview.htm">Plugin Tutorial</a> - Explains how to call dynamic link libraries (DLL) at runtime in order to invoke functions, create simple objects as well as objects that implement an interface, like IMxPluginBase</li>
        </ul>
        <p>&#160;</p>
        <p>The motivation for creating MxPlugin is given in the <a href="Background.htm">Background</a> topic. However, if you are in a rush you should read the <a href="QuickStartGuide.htm">Quick Start Guide</a>. This suggests the topics that you should read if you just want to create and use MxPlugins. </p>
        <p>For the most studious, we have provided an <a href="Architecture/Arch-Overview.htm">architectural section</a>, a <a href="References/Refs-Bibliography.htm">bibliography</a>, a collection of <a href="References/Refs-UsefulLinks.htm">useful links</a> and a <a href="References/Refs-AlternativePlugins.htm">list of alternatives</a> for you to consider if MxPlugin doesn't meet your needs.</p>
        <p>Thanks for your interest</p>
        <p><i>MxPlugin team </i>
        </p>
    </body>
</html>